type go/types.Struct
53 uses
go/types (current package)
builtins.go#L806: case *Struct:
decl.go#L751: if t, _ := base.under().(*Struct); t != nil {
expr.go#L875: case *Struct:
expr.go#L1354: case *Struct:
infer.go#L391: case *Struct:
infer.go#L730: case *Struct:
lookup.go#L152: case *Struct:
lookup.go#L482: if _, ok := under(p.base).(*Struct); ok {
methodset.go#L129: case *Struct:
mono.go#L252: case *Struct:
predicates.go#L128: case *Struct:
predicates.go#L207: case *Struct:
predicates.go#L212: if y, ok := y.(*Struct); ok {
sizes.go#L56: case *Struct:
sizes.go#L149: case *Struct:
sizes.go#L224: func (conf *Config) offsetsof(T *Struct) []int64 {
sizes.go#L252: s := under(typ).(*Struct)
struct.go#L17: type Struct struct {
struct.go#L26: func NewStruct(fields []*Var, tags []string) *Struct {
struct.go#L36: s := &Struct{fields: fields, tags: tags}
struct.go#L42: func (s *Struct) NumFields() int { return len(s.fields) }
struct.go#L45: func (s *Struct) Field(i int) *Var { return s.fields[i] }
struct.go#L48: func (s *Struct) Tag(i int) string {
struct.go#L55: func (t *Struct) Underlying() Type { return t }
struct.go#L56: func (t *Struct) String() string { return TypeString(t, nil) }
struct.go#L61: func (s *Struct) markComplete() {
struct.go#L67: func (check *Checker) structType(styp *Struct, e *ast.StructType) {
subst.go#L103: case *Struct:
subst.go#L105: s := &Struct{fields: fields, tags: t.tags}
typestring.go#L152: case *Struct:
typexpr.go#L311: typ := new(Struct)
unify.go#L419: case *Struct:
unify.go#L424: if y, ok := y.(*Struct); ok {
validtype.go#L42: case *Struct:
golang.org/x/exp/apidiff
compatibility.go#L17: case *types.Struct:
compatibility.go#L18: if new, ok := new.(*types.Struct); ok {
compatibility.go#L153: func (d *differ) checkCompatibleStruct(obj types.Object, old, new *types.Struct) {
compatibility.go#L164: func exportedFields(s *types.Struct) map[string]types.Object {
compatibility.go#L180: func exportedSelectableFields(s *types.Struct) map[string]types.Object {
compatibility.go#L183: next []*types.Struct // embedded structs at the next depth
compatibility.go#L184: seen []*types.Struct // to handle recursive embedding
compatibility.go#L186: for cur := []*types.Struct{s}; len(cur) > 0; cur, next = next, nil {
compatibility.go#L206: if t, ok := t.(*types.Struct); ok && !contains(seen, t) {
compatibility.go#L214: func contains(ts []*types.Struct, t *types.Struct) bool {
compatibility.go#L225: func unambiguousFields(structs []*types.Struct) map[string]*types.Var {
correspondence.go#L77: case *types.Struct:
correspondence.go#L78: if new, ok := new.(*types.Struct); ok {
golang.org/x/tools/internal/gcimporter
bexport.go#L355: case *types.Struct:
bexport.go#L431: func (p *exporter) fieldList(t *types.Struct) {
bimport.go#L510: t := new(types.Struct)
iexport.go#L770: case *types.Struct:
ureader_yes.go#L386: func (r *reader) structType() *types.Struct {